#ifndef TASK_H
#define TASK_H
#include "StompedReality/Core.h"

namespace StompedReality
{
class IGame;
namespace Core
{
/*!
 * \author	Stefan Kazalski
 *
 * \brief	Task base
 *
 *    Base for Tasks
 */
struct DLL_EXPORT Task {

  //! \brief	Constructor.
  Task( ) {
  }

  //! \brief	Destructor.
  virtual ~Task( ) {
  }

  //! \brief	Initializer.
  //!			Initializes the task
  virtual void Initialize ( ) = 0;

  //! \brief	Execute task.
  //! \param	game	The game.
  virtual void Exectue( StompedReality::IGame* game ) = 0;
};

}

}

#endif // TASK_H
